package org.novelhibernate.test;

import java.io.Serializable;

import org.novelhibernate.exception.NovelhibernateException;
import org.novelhibernate.support.logging.FinallizedObject;
import org.novelhibernate.support.logging.annotation.DefaultExceptionHandling;
import org.novelhibernate.support.logging.annotation.ExceptionHandleMethod;
import org.novelhibernate.support.logging.annotation.ExceptionRegistry;
import org.novelhibernate.support.logging.annotation.ReleaseHandling;
import org.novelhibernate.support.logging.annotation.LogTrigger;

public interface ILogClass<T extends Serializable> {

	//@LogTrigger(beforeLog="before", afterLog="after", exceptionLog="exception")
	//@ReleaseHandling(bindedObjectArrayIndex=2)
	//@DefaultExceptionHandling
	//@ExceptionRegistry(handlerMehotdID={1}, handleException={NullPointerException.class})
	//@FinalizationHandling
	public int print(T t, String s, int a, Object... o) throws Throwable;
	
	//@ExceptionHandleMethod(methodID=1)
	public Object doSomething(Object[] o);
}
